package web.usuarios;

import Persistencia.*;
import controladores.*;
import org.springframework.web.servlet.mvc.*;
import org.springframework.web.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.logging.*;
import java.util.*;
import org.springframework.web.servlet.view.*;

/*
 * Este controlador se encarga de listar los pacientes del fisioterapeuta logeado.
 *
 */

public class ControladorListarPaciente implements Controller{
    protected final Log logger = LogFactory.getLog(getClass());
    ControladorPaciente controlador;    
    @Override

    public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
        String id = hsr.getParameter("id_coord");
        controlador = new ControladorPaciente();
        String tipo = hsr.getParameter("tipo");
        Map<String, Object> myModel = new HashMap<String, Object>();
        if(id!=null){
            myModel.put("id_fisio", id);
            myModel.put("pacientes", controlador.encontrarMisPacientes(hsr.getParameter("id_fisio")));
        }else{
            myModel.put("id_fisio", hsr.getParameter("id_fisio"));
            myModel.put("pacientes", controlador.encontrarMisPacientes(hsr.getParameter("id_fisio")));
        }
        if(tipo!=null){
            if(tipo.equals("eliminar")){
                return new ModelAndView("eliminarPaciente","model",myModel);
            }else if(tipo.equals("revisar")){
                myModel.put("tipo", "revisar");
                return new ModelAndView("revisarPacientes","model",myModel);
            }else if(tipo.equals("revisarFisio")){
                myModel.put("tipo", "revisarFisio");
                return new ModelAndView("revisarPacientes","model",myModel);
            }else{
                return new ModelAndView("administrarPacientes","model",myModel);
            }
        }else{
            String idPaci = hsr.getParameter("id_paciente");
            Paciente ob = null;
            List<Paciente> obj = controlador.encontrarPacientes();
            if(obj!=null){
                for(int i=0;i<obj.size();i++){
                    if(idPaci.equals(""+obj.get(i).getIdPaciente())){
                        ob = obj.get(i);
                    }
                }
            }
            if(ob!=null){
                Map<String, Object> myMode = new HashMap<String, Object>();
                myMode.put("id_fisio", hsr.getParameter("id_fisio"));
                myMode.put("modPaciente", ob);
                return new ModelAndView("modificarPaciente",myMode);
            }else{
                System.out.println("FUE NULL");
                return new ModelAndView("administrarPacientes", "model",myModel);
            }
        }
    }
}
